package com.winning.gjhlht.ihe.cdaService.service;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 类名称：BaseCDACreaterServiceInter
 * 类描述：CDA文档生成统一接口
 * 创建人：liuwensheng
 * 创建时间：2017-1-12 上午10:55:02
 * 修改人：liuwensheng
 * 修改时间：2017-1-12 上午10:55:02
 * 修改备注：
 */
public interface IBaseCDACreaterServiceInter {

    /**
     * 生成一份CDA文档，由于存在重复Entry既条目明细等情况，一次只能生成一份CDA
     * 方法名称: createOneCDADocumentService
     *
     * @param xm              患者姓名
     * @param requestID       请求ID，由机构代码_证件号码_GUID值合并而成
     * @param cdaTempFileName cda模板名称，一份模块对应一类电子档案信息
     * @param basicSQL        提供查询一份CDA基本信息的sql语句
     *                        void  返回类型说明
     * @author liuwensheng@winning.com.cn<br/>
     * 创建时间：2017-1-11/下午2:56:11<br/>
     */
    public HashMap<String, Object> createOneCDADocumentService(String xm, String requestID, String cdaTempFileName,
                                                               String basicSQL, Object[] param, String dbDataSourceID);

    /**
     * 重载上面方法
     *
     * @param xm
     * @param requestID
     * @param rowListValue
     * @return
     */
    public HashMap<String, Object> createOneCDADocumentService(String xm, String requestID, String cdaTempFileName,
                                                               List<HashMap<String, Object>> rowListValue);

    public Map<String, Object> createOneCDADocumentService(String xm, String requestID, String cdaTempFileName,
                                                               Map<String, Object> rowListValue);

    /**
     * 生成CDA文档，如果有重复信息，生成多份CDA文档
     * 方法名称: createCDADocumentService
     *
     * @param
     * @return List<HashMap               <               String               ,               Object>>  返回类型说明<br/>
     * @throws <br/>
     * @author zhaqiang@winning.com.cn<br/>
     * 创建时间：2017-3-10/上午8:47:04<br/>
     */
    public List<HashMap<String, Object>> createCDADocumentService(String xm, String requestID, String cdaTempFileName,
                                                                  String basicSQL, Object[] param, String dbDataSourceID);

}
